1. Field of the Invention
The present invention relates to an image processing apparatus.
2. Description of the Related Art
In recent years, image processing apparatus such as multifunction devices that manage the functions of a printer, a copying machine, a scanner, and a fax machine in one housing generally incorporate a CPU similar to a computer and their functions are realized by controlling applications.
For example, an image forming device described in Japanese Patent No. 3679349 (Patent Document 1) includes functions used in common by applications as a platform. The applications can be implemented by using an API (Application Programming Interface) of this platform. According to this image forming device, with the commonly used functions provided as a platform, redundant implementation of functions in the applications can be avoided, which improves development efficiency of the applications as a whole.
With the related art structures, however, the development efficiency of the applications is sometimes not improved as much as expected if the granularity of the functions or the interface provided by this platform is not appropriately designed.
If this granularity is too high, the API is called too often even though the application provides merely a simple service. As a result, the source code becomes complicated.
If the granularity is too low, on the other hand, the platform is required to be modified internally when an application providing a partly modified service is required to be implemented, which leads to an increase of development steps. In particular, when modules in the platform depend largely on each other, not only is a new function required to be added to the platform but an existing part may also require modification. Thus, the development process becomes more complicated.
In the case of implementing an existing application with a partly modified service (for example, an input process of an image), it is impossible to call the unmodified part of the application for the unmodified function. Therefore, a new application is required to be implemented by writing new source code.